Systems and methods of motion detection using dynamic thresholds and data filtering

ABSTRACT

Systems and methods of detecting human movement with a sensor are provided, including generating a motion event signal in response to movement detected by the sensor, and generating a parameterized curve to represent the detected motion. The parameterized curve is fit to a predetermined window of sensor data captured by the sensor to filter the motion event signal. A noise magnitude estimate and a curve fit error is determined based on the fitted parameterized curve to the predetermined window. A detection threshold value is determined based on the curve fit error, a noise source signal estimate of known noise, and zero or more noise magnitudes from other sources. Human motion is determined by correlating a true motion event signal with human motion based on a comparison between a value of a point on the parameterized curve and the detection threshold value.

BACKGROUND

Detecting human motion using ambient motion sensors is difficult becauseof noise sources that exist in a detection environment (i.e., externalnoise sources), and because of noise sources within the sensor itself(i.e., internal noise sources). External noise sources include: airflowfrom HVAC (heating ventilation and air condition system) systems;electromagnetic interference (EMI) from mobile phones, electronicdevices, wireless access points, or microwaves; electrostatic discharge(ESD) from dry air; and jarring due to movement of the sensor. Examplesof internal noise sources are radio frequency (RF) induced currents dueto wireless radio transmissions, and switching electronic componentsthat generate internal currents and/or heat such as LEDs (light emittingdiodes).

BRIEF SUMMARY

According to an implementation of the disclosed subject matter, a methodis provided for detecting human movement with a sensor of a device, themethod includes generating, at the sensor, a motion event signal inresponse to movement detected by the sensor. A parameterized curve maybe generated, at a processor of the device coupled to the sensor, torepresent the detected motion at the sensor based on the motion eventsignal. The parameterized curve may be fitted, at the processor, to apredetermined window of sensor data captured by the sensor that includesat least a portion of the motion event signal. A noise source signalmagnitude estimate of a known noise may be determined at the processorbased on the fitted parameterized curve to the predetermined window. Acurve fit error may be determined at the processor based on the fittedparameterized curve to the predetermined window. A detection thresholdvalue may be determined, at the processor, based on the curve fit error,the noise source signal estimate of the known noise, and zero or morenoise magnitudes estimated at the processor from other sources. Humanmotion may be determined by correlating an estimated true motion eventsignal with human motion at the processor based on a comparison betweena value of a point on the fitted parameterized curve and a detectionthreshold value.

According to an implementation of the disclosed subject matter, a systemis provided that includes a sensor of a device to generate a motionevent signal in response to movement detected by the sensor. The systemincludes a processor of the device, which is coupled to the sensor, togenerate a parameterized curve to represent the detected motion at thesensor based on the motion event signal. The processor may fit theparameterized curve to a predetermined window of sensor data captured bythe sensor that includes at least a portion of the motion event signalto filter the motion event signal. The processor may determine a noisesource signal magnitude estimate of a known noise based on the fittedparameterized curve to the predetermined window. The processor maydetermine a curve fit error based on the fitted parameterized curve tothe predetermined window. The processor may determine a detectionthreshold value based on the curve fit error, the noise source signalestimate of the known noise, and zero or more noise magnitudes estimatedat the processor from other sources. The processor may determine that anestimated true motion event signal correlates with human motion based ona comparison between a value of a point on the parameterized curve andthe detection threshold value.

According to an implementation of the disclosed subject matter, a systemis provided that includes a processor of a device having a curve fitfilter to receive an motion event signal from a sensor of the device, tooutput a filtered motion event signal based on the received motion eventsignal, and to determine a curve fit error. The processor may include adynamic threshold estimator to output a detection threshold value basedon the determined curve fit error from the curve fit filter, a noisesource signal estimate of a known noise in the filtered motion eventsignal, and zero or more noise magnitude estimates from other sources.The processor may include a detector to output a determined motion eventbased on the filtered motion event signal from the curve fit filter andthe detection threshold value from the dynamic threshold estimator.

According to an implementation of the disclosed subject matter, a methodis provided that includes receiving, at a curve fit filter of aprocessor of a device, a motion event signal from a sensor of thedevice. A filtered motion event signal may be output, at the curve fitfilter of the processor, based on the received motion event signal. Thecurve fit filter may determine a curve fit error. The method may includeoutputting, at a dynamic threshold estimator of the processor, adetection threshold value based on the determined curve fit error, anoise source signal estimate of a known noise in the filtered motionevent signal, and on zero or more noise magnitude estimates. The methodmay include outputting, at a detector of the processor, a determinedmotion event based on the filtered motion event signal from the curvefit filter and the threshold value from the dynamic threshold estimator.

Additional features, advantages, and implementations of the disclosedsubject matter may be set forth or apparent from consideration of thefollowing detailed description, drawings, and claims. Moreover, it is tobe understood that both the foregoing summary and the following detaileddescription are illustrative and are intended to provide furtherexplanation without limiting the scope of the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are included to provide a furtherunderstanding of the disclosed subject matter, are incorporated in andconstitute a part of this specification. The drawings also illustrateimplementations of the disclosed subject matter and together with thedetailed description serve to explain the principles of implementationsof the disclosed subject matter. No attempt is made to show structuraldetails in more detail than may be necessary for a fundamentalunderstanding of the disclosed subject matter and various ways in whichit may be practiced.

FIG. 1 shows a method of detecting human movement with a sensor of adevice according to an implementation of the disclosed subject matter.

FIG. 2A shows a curve fitter, a dynamic threshold estimator, and adetector of a processor according to an implementation of the disclosedsubject matter.

FIG. 2B shows an example sensor including the processor of FIG. 2Aaccording to an implementation of the disclosed subject matter.

FIG. 2C shows another method of detecting human movement with a sensorof a device according to an implementation of the disclosed subjectmatter.

FIG. 2D shows a parameterized curve according to an implementation ofthe disclosed subject matter.

FIGS. 3A-3B show a raw input signal to a sensor and a filtered inputsignal using the processor FIG. 2A for electrostatic discharge (ESD)noise according to an implementation of the disclosed subject matter.

FIGS. 4A-4B show a raw input signal to a sensor and a filtered inputsignal using the processor of FIG. 2A for 6lowpan Tx-coex noise (noisefrom transmission of Internet Protocol (IPv6) over Low-power WirelessPersonal Area Networks) according to an implementation of the disclosedsubject matter.

FIGS. 5A-5B show a raw input signal to a sensor and a filtered inputsignal using the processor of FIG. 2A for jarring noise according to animplementation of the disclosed subject matter.

FIGS. 6A-6B show a raw input signal to a sensor and a filtered inputsignal using the processor of FIG. 2A for a normal human walk patternaccording to an implementation of the disclosed subject matter.

FIGS. 7A-7B show a raw input signal to a sensor and a filtered inputsignal using the processor of FIG. 2A for a fast human walk patternaccording to an implementation of the disclosed subject matter.

FIGS. 8A-8B show a security system that receives alert communicationsfrom a remote system according to an implementation of the disclosedsubject matter.

FIG. 9 shows a remote system to aggregate data from multiple locationshaving security systems according to an implementation of the disclosedsubject matter.

FIG. 10 shows an example sensor according to an implementation of thedisclosed subject matter.

FIG. 11 shows an electronic device according to implementations of thedisclosed subject matter.

DETAILED DESCRIPTION

In implementations of the disclosed subject matter, one or more types ofnoise may be identified, and used to dynamically adjust a motionthreshold of the sensor. Identified noise may be filtered from a motionevent signal captured by a sensor so that a determination may be made asto whether there is a human motion event (e.g., walking). Differenttypes of noise may have characteristic time signatures that may beidentified and compensated for. When the type of noise is identified, aportion of the motion event signal detected by the sensor may beidentified and determined to correspond to human movement. If the typeof noise is only partially identifiable, it may be determined how muchuncaptured noise may be expected, and the shape and/or profile of thenoise as a function of time. A threshold of the sensor may be adjustedso that a human motion event may be determined from the detected motionevent signal that may include noise. The total amount that the thresholdvalue is raised may be based on the sum of individually identified noisesignals.

Implementations of the disclosed subject matter determine whether thereis a human motion event using one or more parameterized curves. Byfitting the curves to a window of collected sensor data using parameteroptimization techniques, the detected motion event signal may beseparated into a human motion event signal and one or more noisesignals, as well as a curve fit error. That is, a noise magnitudeestimate and a curve fit error may be used to determine that the motionevent signal correlates with human motion. The fitted human motion eventcomponent may be used for detection by taking the value of a specificpoint on the curve and by comparing it to the threshold value.

Implementations of the disclosed subject address the problems of presentsensor systems, where the magnitude of the noise may be equal to orlarger than a portion of the motion event signal that may correlate witha human motion event (e.g., human walking) in a detection range (e.g.,at the edge of a detection range). This noise magnitude typically makesit difficult to determine human movement (e.g., human walking) in amotion event signal detected by a sensor. The systems and methodsdisclosed herein determine if a human is walking in the field-of-view ofthe sensor (e.g., a true positive), or whether sensor signals are solelydue to noise (e.g., a true negative), based on the characteristics ofthe sensor signals.

The systems and methods of the disclosed subject matter determine theshape of motion event signals from one or more sensors in response tohuman movement detected by the one or more sensors is modeled using theparameterized curve. For example, a low-order polynomial or a sum ofsinusoids over a limited frequency range may be used to model theparameterized curve. Noise signals, which may detected as part of themotion event signals detected by the one or more sensor, can beparameterized. For example, the noise signals may be parameterized assteps of spikes. By fitting these curves to a window of the collectedsensor data (e.g., the last 10 samples, the last 20 samples, the last 50samples, or the like) using parameter optimization techniques, such asleast-squares, the motion event signal can be decomposed into signalsrepresenting human motion (e.g., a human walk event), one or more noisesignals, and a remaining curve fit error. That is, the motion eventsignal from the sensor may include signal portions which may be curvefit to a human motion event and/or noise. The remaining portions of themotion event signal may be determined to be a remaining curve fit error.The human motion portion of the motion event signal may be detected bytaking the value of a specific point on the curve (for example thecenter if the window) and comparing it to a predetermined thresholdvalue. In some implementations, noise magnitude estimates and/or curvefit error errors may be estimated by the processor.

Implementations of the disclosed subject matter provide systems andmethods that consider the shape of the motion event signal received fromone or more sensors (e.g., that may include human movement, human walks,or the like, and that may include noise signals) in the time domain, andestimate the parameters (e.g., magnitude) of the corresponding modeledcurves (e.g., a noise magnitude estimate, a curve fit error, and thelike). The implementations of the disclosed subject matter produce anestimate of human motion from the motion event signal (e.g., a signalindicating human movement, such as a walk event, from the sensor), andprovides an estimate of each modeled noise source, as well as theremaining fit error.

In traditional systems, a linear analog filter or a digital filter isused to suppress the noise of a signal detected by a sensor. Filters ofpresent systems include complex linear filters such as Butterworth,Chebyshev, or Bessel filters. The filters of such traditional systemsare designed in the frequency domain. In contrast, the filters of theimplementations of the disclosed subject matter are designed in the timedomain. The frequency domain filters of traditional system only producea filtered signal, and do not indicate nor help determine the noise thatwas filtered out. That is, the systems and methods disclosed herein mayprovide an advantage in that the motion event signals from the one ormore sensors may be obtained in the time domain, through testing anddata acquisition, which simplifies the design of the filter. Anotheradvantage may be that the motion event signal from the sensor may bemore easily divided into a desired signal (e.g., the signal representinghuman motion, such as walking), one or more noise signals, and fiterror. The systems and methods as disclosed throughout may providenonlinear algorithms with increased simplicity and effectiveness, suchas raising detection thresholds for a determined magnitude and timebased on a priori knowledge of the detected type of noise, or clampingthe estimated signal by the sensor to avoid overshoot.

The systems and methods of the disclosed subject matter provide noisesuppression, which allows for the use of a low-cost and compact ambientmotion sensor. Most present systems typically use larger sensors, aslow-cost and compact ambient motion sensors typically have a lessdesirable signal-to-noise ratio.

Noise sources that may be identified and correlated for known events orsensor data may be used by systems and methods of the disclosed subjectmatter to dynamically adjust the ambient motion threshold (e.g., adetection threshold value). For example, noise sources may be identifiedin part, but may not be fully identifiable. Implementations of thedisclosed subject matter may determine how much uncaptured noise can beexpected, and what the shape of the noise (e.g., in a curve) may be as afunction of time.

For example, electrostatic discharge may create noise in a motion eventsignal detected by a sensor. The electrostatic discharge may have acharacteristic time signature that can be identified using the systemsand methods of the disclosed subject matter. The extent to which theelectrostatic discharge may be compensated for can be determined bytesting. An upper bound as a function of time (e.g., an envelope) can bedetermined using the systems and methods of the disclosed subjectmatter. The upper bound may be selected so as to contain the noise. Thesensor noise (including the effects of the electrostatic discharge) maybe compensated for by filtering the noise from the motion event signal(e.g., subtracting the known noise). To the extent that the sensor noise(including the effects of the electrostatic discharge) may not becompensated for, the systems and methods of the disclosed subject mattermay raise the human motion (e.g., human walk) detection threshold toavoid false positives.

Jarring of the sensor may create noise in a motion event signal detectedby sensors. The jarring may be correlated to accelerometer sensor data.By monitoring for jarring using a secondary sensor, jarring may bedetected, and the magnitude of the jarring may be estimated. A suitableenvelope may be selected by the systems of the disclosed subject matterto increase the detection threshold value.

Internal radio transmissions may also create noise signals which mayaffect the motion event signals detected by sensors. Since the softwarerunning on a sensor (e.g., an ambient motion detection device) initiatesradio transmissions, it can also initiate raising the ambient motion(e.g., human movement, human walk, or the like) detection thresholdvalue using a suitable envelope that may be selected by the systems ofthe disclosed subject matter.

The total amount to which a detection threshold value may be raised canbe determined by the sum of the individually identified noise signals ofthe motion event signal (e.g., the noise from electrostatic discharge,jarring, internal radio transmissions, and the like). In implementationsof the disclosed subject matter, the detection threshold value may beraised so as to avoid false positives in the attempt to detect humanmotion, rather than trying to filter all noise from the sensor signal.

Implementations of the disclosed subject matter may reduce falsenegatives of typical sensor motion detection systems by compensating forone or more noise types so as to determine whether there is a humanmotion event in the motion event signal. Such implementations mayprovide for the use of low-cost and compact ambient motion sensors, incomparison to the larger, more expensive sensors with an increasedsignal-to-noise ratio that are typically used in present systems.Implementations of the disclosed subject matter may be used for sensorsfor home security or other proximity detection applications.

That is, in the implementations discussed below in connection with FIGS.1-11, sensor-based motion detection (e.g., passive infrared (PIR)ambient motion detection or the like) may be used to detect humanmotion. Sensor-based motion detection systems and methods are providedthat may separate signals representing human motion (e.g., humanwalking) detected by a sensor from noise and/or disturbances. Sources ofnoise and/or disturbances may include high frequency sources, such as6lowpan Tx-coex (noise from devices transmitting signals using InternetProtocol (IPv6) and Low-power Wireless Personal Area Networks (LoWPAN)),electrostatic discharge (ESD), and/or noise from an HVAC system in ahome or building (heating, ventilation, and air conditioning). The noiseand/or disturbances from HVAC may have a broader spectrum than othersources, and may induce high frequencies (e.g., high frequency noise).Sources of noise and/or disturbances may induce low frequency noise in asensor of a device, such as EMI (electromagnetic interference) fromradio transmissions, emissions from light emitting diodes (LEDs), pets,or the like.

FIG. 1 shows a method 100 of detecting human movement with a sensor of adevice, such as in a smart-home environment discussed in connection withFIGS. 8A-8B, according to implementations of the disclosed subjectmatter. The sensor of the device may be one or more of sensors 71, 72shown in FIGS. 2B, 8A, 8B, and 10, and described below. The sensors 71,72 may include one or more of a passive infrared sensor (PIR), anaccelerometer, and/or any type of motion sensor as described below. Thesensors 71, 72 may be part of a device that detects human motion and mayinclude, for example, a processor 200 as shown in FIG. 2B and describedbelow.

At operation 110 shown in FIG. 1, a motion event signal in response tomovement detected by the sensor (e.g., one of sensors 71, 72) may begenerated. A parameterized curve may be generated, at a processor (e.g.,processor 200 shown in FIGS. 2A-2B) coupled to the sensors 71, 72, torepresent the detected motion at the sensors 71, 72 based on the motionevent signal at operation 120. The processor may be part of the devicethat detects human motion. An example parameterized curve is shown inFIG. 2D. In some implementations of the disclosed subject matter, theparameterized curve may be generated at operation 120 using at least oneof low-order polynomials, a sum of sinusoids over a predeterminedfrequency range, and as steps or spikes.

The parameterized curve may be fitted, at the processor 200, to apredetermined window of sensor data captured by the sensors 71, 72 thatincludes at least a portion of the motion event signal to filter themotion event signal at operation 130 shown in FIG. 1. In the exampleparameterized curve shown in FIG. 2D, the window of sensor data mayinclude portions of time before and/or after the point t_(k). In someimplementations of the disclosed subject matter, the parameterized curvemay be defined for the predetermined window of the sensor data. In someimplementations, the processor 200 may fit the parameterized curve tothe predetermined window using a least-squares optimization.

The processor 200 may determine which portions of the motion eventsignal detected by sensors 71, 72 may be part of a noise signal and/or ahuman motion signal, as well as remaining curve fit error. As describedin detail below, the processor 200 may form a fitted human motion signaland a fitted noise signal, and may determine a remaining curve fiterror. In some implementations, the fitted human motion signal, thefitted noise signal, and the remaining curve fit error may be determinedat the processor 200 by curve shapes in a time domain.

At operation 135 as shown in FIG. 1, the processor 200 may determine anoise source signal magnitude estimate of a known noise based on thefitted parameterized curve to the predetermined window. The processor200 may determine that a portion of the fitted parameterized curveincludes a noise source signal of a known noise, such as ESD, HVAC, EMI,RF, and the like. The processor 200 may determine a magnitude estimateof the known noise. A noise magnitude estimate (e.g., a noise sourcesignal magnitude estimate) may be an estimate of the amount and/ormagnitude of noise in the motion event signal by the curve fit filter210. In some implementations, different noise magnitude estimates may bemade for different types of noise (e.g., noise from ESD, HVAC, EMI, RF,and the like).

At operation 140 as shown in FIG. 1, a curve fit error may bedetermined, at the processor 200, based on the fitted parameterizedcurve to the predetermined window. A curve fit error may be determined,by the processor 200, of an amount and/or magnitude of error in fittingthe parameterized curve to the predetermined window.

At operation 145, the processor 200 may determine a detection thresholdvalue based on the curve fit error, the noise source signal estimate ofthe known noise, and zero or more noise magnitudes estimated at theprocessor 200 from other sources. The detection threshold value may bedynamically changed over time (e.g., based on changes to the noisemagnitude estimate and/or the curve fit error and past values of thedetection threshold). An estimated true motion event signal may bedetermined to correlate with human motion by the processor 200 based ona comparison between a value of a point on the parameterized curve and adetection threshold value at operation 150. In some implementations, theprocessor 200 selects the value of the point on the parameterized curveto be within the predetermined window, such as in the middle of thepredetermined window. For example, the processor 200 may select thevalue at the point along the curve at point t_(k), as shown in FIG. 2D.The estimated true motion event signal may be determined by processor200 by filtering the motion event signal by subtracting the noisemagnitude estimate so as to compensate for sensor noise. The processor200 may adjust the detection threshold value based on the noise sourcesignal magnitude estimate. In some implementations, the processor 200may raise the detection threshold value when a noise magnitude estimateis based on notifications of internal radio transmissions of a devicethat may include the sensor.

In some implementations of the method 100 of FIG. 1, the detectionthreshold value may be raised by the processor 200 for a determinedmagnitude and time based on one or more types of noise of the noisemagnitude estimate, as discussed in detail below in connection withFIGS. 3A-7B. That is, the detection threshold value may be continuallyadjusted over time for ESD noise as shown in FIG. 3A, based on themagnitude of a portion of the motion event signal (e.g., a noise signalcomponent) detected by the sensor and/or noise magnitude estimate.Similarly, the detection threshold value may be continually adjustedover time for 6lowpan Tx-coex noise as shown in FIG. 4A, and may becontinually adjusted over time for jarring as shown in FIG. 5A.

In some implementations of method 100, the processor 200 may estimate anoise signal shape that may be a portion of the motion event signal(e.g., the noise magnitude estimate) as a function of time to beexpected when the noise signal is partially identified. The processor200 may determine an upper bound of the noise magnitude estimate as afunction of time. The upper bound may include a noise signal, which maybe a portion for the motion event signal. The processor 200 maydetermine that the noise may correspond to an electrostatic dischargesignal detected by the sensors 71, 72. In some implementations, theprocessor 200 may clamp a motion signal estimate (e.g., an estimatedtrue motion event signal) by the motion event signal detected by thesensors 71, 72 to avoid overshoot and minimize errors in determining themotion signal estimate.

In some implementations, the processor 200 may correlate the noisemagnitude estimate (e.g., the noise source signal magnitude estimate ofa known noise, the noise magnitudes estimated from other sources, or thelike) with a second data signal from a second sensor. For example, themotion event signal may be primarily detected by sensor 71, and sensor72 may be the second sensor used to correlate the noise magnitudeestimate and/or a noise portion of the motion event signal detected bysensor 71. The processor 200 may determine the noise magnitude estimate,and generate an envelope to increase the detection threshold value. Theprocessor 200 may correlate the noise magnitude estimate and/or a noiseportion of the motion event signal with jarring of the sensor based onaccelerometer data from the second sensor (e.g., sensor 72).

FIG. 2A shows the processor 200 that includes curve fit filter 210, adynamic threshold estimator 220, and a detector 230 according to animplementation of the disclosed subject matter. As shown in FIG. 2A, theprocessor 200 may include a curve fit filter 210 to receive an inputsignal (e.g., a motion event signal 205) from a sensors 71, 72. Thecurve fit filter 210 may output a filtered motion event signal 215 basedon the received motion event signal 205 (e.g., raw input signal), andmay determine a curve fit error, which may be output as curve fit error217), as discussed above. The dynamic threshold estimator 220 maydetermine and output a detection threshold value 225 based on theestimated fit error magnitude (e.g., curve fit error 217) from the curvefit filter 210 and based on one or more noise magnitude 227 (e.g., anoise source signal magnitude estimate of a known noise and/or noisemagnitude estimates from other sources, as discussed above. The detector230 may output a determined motion event 235 (e.g., an estimated truemotion event signal) based on the filtered signal 215 from the curve fitfilter 210 and a detection threshold value 225 from the dynamicthreshold estimator 220. FIG. 2B shows that the processor 200 of FIG. 2Amay be integrated with and/or communicatively coupled to the sensors 71,72 as part of a device to sense human movement. These sensors 71, 72 maybe part of a security system shown in FIGS. 8A-8B and discussed indetail below.

The filtering (e.g., low pass filtering) may be performed by the curvefit filter 210 of the processor 200, where

z(k)=f(y(k−n), . . . ,y(k+n)),

where z) is the curve fitter output, k is an index to samples (e.g.,time instances) captured by the sensors 71, 72, f is a curve fitfunction, and y is a measurement from before a particular point (k-n) toafter a particular point (k+n). Filtering, such as performed by thecurve fit filter 210, may be non-causal if a time delay is introduced.This may simplify the design of the curve fit filter 210, as a predictormay not be needed. In some implementations of the disclosed subjectmatter, a least squares fit may be performed by the curve fit filter 210for each sample k, where:

z(k)=p(0)+p(1)k++ . . . p(m)k ^(m),

where p is a coefficient for the polynomial, and m is the polynomialorder of fit, and where the following may provide a least-squares fit:

p=arg minpΣi=[−n, . . . ,+n]|z(k+i)−y(k+i)|²

The above may find the coefficients of the polynomial, and minimizefitting error. The following equations may be used to implement thecurve fit filter 210:

Z=[z(k−n); . . . ;z(k+n)],Y=[y(k−n); . . . ;y(k+n)]

where Z is the vector of curve fitted points, Y is the vector of the setof measurements, such that

Z=Xp,

Where Xp is the matrix X multiplied by the parameter vector p,

X=[1,(−n),(−n)², . . . ,(−n)^(m); . . . ;1,(n),(n)²,(n)^(m)]

where m is the polynomial order of fit, and X depends on n and m. UsingX and Y, the least-squares fit can be reformulated as

p=arg min_(p) ∥Xp−Y∥,

and where p is the vector or coefficients of the polynomial. Thesolution to the above may be expressed as a pseudo-inverse (e.g., inmatrix format):

p=(X ^(T) X)⁻¹ X ^(T) Y=QY,Q−(X ^(T) X)⁻¹ X ^(T)

where yhat(k)=z(k)=p0=Q₁. Y=aY, and Q₁. is the first row of Q. Theimplementation disclosed above for the curve fit filter 210 may besimilar to a moving average filter, which may be linear and constant.

In the equations above, n may be selected, and the window length may be2n+1, which may be representative of the “noisiness” of a measuredsignal from the sensors 71, 72. The variable m may be selected for apolynomial order of fit, which may be representative of the “curviness”of a signal. With these selections, Q may be determined, and Q₁. may beretained.

The dynamic threshold estimator 220 may use fitting error (e.g., errorby the curve fit filter 210, such as the curve fit error 217) as ameasure of noise, which can be used to adjust a threshold (e.g.,detection threshold value 225). FIG. 3A shows raw data from a passiveinfrared (PIR) sensor (labeled as “pir” in FIG. 3A; the PIR sensor maybe sensors 71, 72), as well as filtered (labeled as “filt” in FIG. 3A)data which has been filtered by the curve fit filter 210, and thedetection threshold values (labeled as “thresh” in FIG. 3A) that areadjusted and/or change. FIG. 3A shows the raw PIR signal filtered forESD noise, and the dynamic change of detection threshold values overtime. FIG. 3B shows the raw and filtered PIR signal in terms of countvalue. FIG. 4A shows the raw PIR signal filtered for 6lowpan Tx-coexnoise, and the dynamic change of detection threshold values over time.FIG. 4B shows the raw and filtered PIR signal in terms of count value.FIG. 5A shows the raw PIR signal filtered for noise from jarring (e.g.,of the PIR sensor, which may be sensors 71, 72), and the dynamic changeof threshold values over time, the raw and filtered PIR signal in termsof count value. FIG. 5C shows the raw and filtered PIR signal in termsof count value.

FIGS. 6A-6B show that the dynamic threshold estimator 220 may be used toadjust a detection threshold value for the filtered and unfiltered PIRsignals (e.g., motion event signal 205 and filtered motion event signal215) that detect a normal human walk signal that is detected by the PIRsensor (e.g., sensors 71, 72). FIGS. 7A-7B show that the dynamicthreshold estimator 220 may be used to adjust a threshold for thefiltered and unfiltered PIR signals that detect a fast human walksignal.

The curve fit filter 210, the dynamic threshold estimator 220, and thedetector 230 of a processor 200 shown in FIG. 2A may be used to estimatethe noise level (e.g., so as to adjust a threshold value and todetermine a motion event, such as a human walk). For example, a fittingerror (e.g., the curve fit error 217) may be determined, and used toestimate the noise level. In some implementations, a fitting derivativeerror (e.g., the changes to the fitting error over time) mayadditionally be used to estimate the noise level. When estimating noise,a “forgetting factor” may be applied when the noise level dissipates, sothat the detection threshold value 225 can be adjusted. That is, thedetection threshold value 225 may be adjusted based on the determinedfitting error (e.g., the curve fit error 217). The processor 200 maydetermine that the motion signal estimate (e.g., an estimated truemotion event signal) is not larger than the raw PIR signal (which mayact as a “clamp”). The processor 200 may lower and/or change thedetection threshold value 225 based on the estimated noise level to gainfield of view (FOV). This may be used to determine whether there is amotion event, such as a human walk, in the signal detected by the PIRsensor (e.g., sensors 71, 72).

The above-described curve fitting and noise estimation in connectionwith FIG. 2A may have increased effectiveness with signals having sharppeaks, such as those for ESD noise (e.g., as shown in FIGS. 3A-3B) andTx-coex noise (e.g., as shown in FIGS. 4A-4B). The fit-error basedthreshold which is raised by the processor 200 may increase the abilityto detect motion event (e.g. human walking) using a PIR sensor (e.g.,sensors 71, 72). The fit-error based thresholding may address noise froma plurality of sources that may be compounded (e.g., combined HVAC noiseand Tx-coex noise). In implementations of the disclosed subject matter,raising a threshold may not necessarily lead to false negatives (e.g.,in terms of detecting human movement), as a walk signal of the signaldetected by the sensors 71, 72 may add to the overall signal detected bythe sensors 71, 72. The dynamic adjustment of the detection thresholdvalue 225 avoids disabling the sensor (such as done in prior systems)when high levels of noise are detected.

FIG. 2C shows a method of detecting human movement with a sensoraccording to an implementation of the disclosed subject matter. Themethod 160 may include receiving, at a curve fit filter 210 of theprocessor 200, a motion event signal 205 from a sensors 71, 72 atoperation 165. The curve fit filter 210 may output a filtered motionevent signal 215 based on the received motion event signal 205, and maydetermine a curve fit error (e.g., curve fit error 217) at operation170. A dynamic threshold estimator 220 may output a detection thresholdvalue 225 based on the determined curve fit error 217, a noise sourcesignal estimate of a known noise in the filtered motion event signal215, and zero or more noise magnitude estimates 227 at operation 175. Adetector 230 may output a determined motion event 235 based on thefiltered motion event signal 215 from the curve fit filter 210 and thedetection threshold value 225 from the dynamic threshold estimator 220.

That is, FIGS. 2A-D show a system, including a processor 200, to detecthuman movement with a sensor (e.g., sensors 71, 72 shown in FIGS. 2B,8A, 8B, and 10, and described below) according to implementations of thedisclosed subject matter. The system may generate a motion event signalin response to movement detected by the sensors 71, 72. The processor200 may be integrated with and/or communicatively coupled to the sensors71, 72 (see, e.g., FIG. 2B). In some implementations, a device to detecthuman movement may include the processor 200, the sensors 71, 72, and acommunications interface so that the device may communicate with, forexample, the controller 73, the remote system 74, and/or the alarmdevice 76 via the network 70 as shown in FIG. 8B and described below.

As discussed throughout, the processor 200 may generate a parameterizedcurve (see, e.g., FIG. 2D) to represent the detected motion at thesensor (e.g., the motion event signal 205). The processor 200 may fitthe parameterized curve to a predetermined window of sensor datacaptured by the sensor that includes at least a portion of the motionevent signal. The processor 200 may determine a human motion event, aswell as noise signals and curve fit errors based on the fittedparameterized curve to the predetermined window. The processor 200 maydetermine human motion based on a comparison between a value of a pointon the parameterized curve and a detection threshold value.

The processor 200 may generate the parameterized curve using at leastone of low-order polynomials, a sum of sinusoids over a predeterminedfrequency range, and as steps of spikes. In some implementations, theprocessor 200 may fit the parameterized curve to the predeterminedwindow of the sensor data using parameter optimization. The parameteroptimization used by the processor 200 may be a least-squaresoptimization.

In some implementations of the disclosed subject matter, the value ofthe point on the parameterized curve is selected by the processor to bein the predetermined window, such as in the middle of the predeterminedwindow or in any other suitable position.

The processor 200 may estimate parameters of the motion event signal, aswell as the noise magnitude estimate of one or more noise signals in themotion event signal, and determine a curve fit error. The processor 200may determine curve shapes of the motion event signal, the noisesignals, and the curve fit error in a time domain. The detectionthreshold value may be dynamically adjusted by the processor 200 for adetermined magnitude and time based on a type of the noise signal.

In some implementations, the processor 200 may clamp a motion signalestimate (e.g., an estimated true motion event signal) by the motionevent signal detected by the sensors 71, 72 to avoid overshoot andminimize errors in determining a detection threshold value. Theprocessor 200 may estimate the noise signal shape (e.g., the noisemagnitude) as a function of time to be expected when the noise signal ispartially identified. The processor 200 may determine an upper bound ofthe estimated noise magnitude estimate as a function of time, where theupper bound includes the noise signal. The noise signal may, forexample, correspond to an electrostatic discharge signal detected by thesensors 71, 72.

In some implementations, the processor 200 may determine the humanmotion from a filtered motion event signal by subtracting the noisesignal to compensate for sensor noise. The processor 200 may raise thedetection threshold value when the sensor noise is partially compensatedfor.

The processor 200 may correlate the determined noise signal with asecond data signal from a second sensor (e.g., sensor 72). The processor200 may estimate a magnitude of the noise signal (e.g., a noisemagnitude estimate) and may generate an envelope to dynamically adjustthe detection threshold value. The second sensor (e.g., sensor 72) maybe an accelerometer, and the determined noise signal is correlated bythe processor 200 with jarring of the sensor (e.g., sensor 71) based onaccelerometer data from the second sensor (e.g., sensor 72).

The processor 200 may dynamically adjust the detection threshold valuewhen the determined noise signal is based on internal radiotransmissions of the sensors 71, 72.

FIGS. 8A-8B show a security system that may include one or more sensorsto receive an input signal and filter noise with a processor todetermine human movement according to an implementation of the disclosedsubject matter. The security system of FIGS. 8A-8B may be used toidentify noise sources, and may dynamically adjust an ambient motionthreshold of one or more sensors of the security system. The securitysystem may determine a characteristic time signature of one or morenoise types (e.g., noise from 6lowpan Tx-coex, ESD, HVAC noise, EMC,LEDs, pets, or the like). The security system may compensate for thenoise and may be used to determine a human motion event, such aswalking. In some implementations, the security system may transmit anotification, output an alarm, and/or adjust security settings accordingto a determination of human movement. The security system may, in someimplementations, determine when to arm or disarm an alarm deviceaccording to detected human motion determined from an input signal to asensor that may include noise.

The security system shown in FIGS. 8A-8B may include network 70, one ormore sensors 71, 72, controller 73 having a communications interface,remote system 74, device 75, and alarm device 76. Sensors 71, 72 will bediscussed in detail in connection with FIG. 10, and device 75 will bediscussed in detail in connection with FIG. 11.

In some implementations, the security system shown in FIGS. 8A-8B maydetermine whether the user is located within the home or building (or apredefined area around the home or building), and/or outside of thehome. That is, the security system may adjust the security settingsaccording to whether the user is located within the home or outside thehome, based in part on the detection of human movement by one or moresensors.

The general features and operation of the security system shown in FIGS.8A-8B, which may be part of a smart-home environment, are discussed indetail below. The security system may use one or more sensors 71, 72. Asused throughout, a sensor may refer to any device that can obtaininformation about its environment. In implementations of the disclosedsubject matter, the sensors may be passive infrared (PIR) sensors thatmay be used to detect human movement. As discussed throughout, thesensors may identify noise patterns, and may compensate for them so thatthe sensor and/or processor may determine if there is human movement.

In the security system of FIGS. 8A-8B, the sensors may be described bythe type of information they collect. For example, sensor types asdisclosed herein may include motion, smoke, carbon monoxide, carbondioxide, sound, proximity, temperature, time, physical orientation,acceleration, location, entry, presence, and the like. A sensor caninclude, for example, a camera, a retinal camera, and/or a microphone.Sensors 71, 72 are discussed in detail below in connection with FIG. 10.

The security system of FIGS. 8A-8B and discussed above may beimplemented over any suitable wired and/or wireless communicationnetworks, such as network 70. The one or more sensors 71, 72 maycommunicate via the local network 70, such as a Wi-Fi or other suitablenetwork, with each other and/or with the controller 73. The securitysystem may be communicatively coupled to the remote system 74 via thenetwork 70. As discussed above, the remote system 74 may be a lawenforcement communication system, a security service provider system, aneighborhood alert communication system, a weather-relatedcommunications system, and/or a social network communication system.

The network 70 may be a mesh-type network such as Thread, which providesnetwork architecture and/or protocols for devices to communicate withone another. Typical home networks may have a single device point ofcommunications. Such networks may be prone to failure, such that devicesof the network cannot communicate with one another when the singledevice point does not operate normally. The mesh-type network of Thread,which may be used in the security system of the disclosed subjectmatter, may avoid communication using a single device. That is, in themesh-type network, such as network 70, there is no single point ofcommunication that may fail so as to prohibit devices coupled to thenetwork from communicating with one another.

The communication and network protocols used by the devicescommunicatively coupled to the network 70 may provide securecommunications, minimize the amount of power used (i.e., be powerefficient), and support a wide variety of devices and/or products in ahome, such as appliances, access control, climate control, energymanagement, lighting, safety, and security. For example, the protocolssupported by the network and the devices connected thereto may have anopen protocol which may carry IPv6 natively.

The Thread network, such as network 70, may be easy to set up and secureto use. The network 70 may use an authentication scheme, AES (AdvancedEncryption Standard) encryption, or the like to reduce and/or minimizesecurity holes that exist in other wireless protocols. The Threadnetwork may be scalable to connect devices (e.g., 2, 5, 10, 20, 50, 100,150, 200, or more devices) into a single network supporting multiplehops (e.g., so as to provide communications between devices when one ormore nodes of the network is not operating normally). The network 70,which may be a Thread network, may provide security at the network andapplication layers. One or more devices communicatively coupled to thenetwork 70 (e.g., controller 73, remote system 74, and the like) maystore product install codes to ensure only authorized devices can jointhe network 70. One or more operations and communications of network 70may use cryptography, such as public-key cryptography.

The devices communicatively coupled to the network 70 of the smart-homeenvironment and/or security system disclosed herein may low powerconsumption and/or reduced power consumption. That is, devicesefficiently communicate to with one another and operate to providefunctionality to the user, where the devices may have reduced batterysize and increased battery lifetimes over conventional devices. Thedevices may include sleep modes to increase battery life and reducepower requirements. For example, communications between devices coupledto the network 70 may use the power-efficient IEEE 802.15.4 MAC/PHYprotocol. In implementations of the disclosed subject matter, shortmessaging between devices on the network 70 may conserve bandwidth andpower. The routing protocol of the network 70 may reduce networkoverhead and latency. The communication interfaces of the devicescoupled to the smart-home environment may include wirelesssystem-on-chips to support the low-power, secure, stable, and/orscalable communications network 70.

The controller 73 shown in the security system of FIGS. 8A-8B anddiscussed above may be communicatively coupled to the network 70 and maybe and/or include a processor (e.g., processor 200 shown in FIG. 2A).The controller 73 and/or the processor 200 may identify noise sourcesfrom one or more signals received from the sensors 71, 72, and maycompensate for the identified noise so as to determine whether a humanmotion event has occurred.

Alternatively, or in addition, the controller 73 may be a general- orspecial-purpose computer. The controller 73 may receive, aggregate,and/or analyze alert communications received from the remote system 74via the network 70. The controller 73 may also receive, aggregate,and/or analyze environmental information received from the sensors 71,72. The sensors 71, 72 and the controller 73 may be located locally toone another, such as within a single dwelling, office space, building,room, or the like, or they may be remote from each other, such as wherethe controller 73 is implemented in a remote system 74 such as acloud-based reporting and/or analysis system.

Alternatively or in addition, sensors 71, 72 may communicate directlywith the remote system 74. In this example, the remote system 74 mayaggregate data from multiple locations, provide instruction, softwareupdates, and/or aggregated data to a controller 73 and/or sensors 71,72. In another example, the remote system 74 may aggregate data from thesensors 71, 72, may analyze the aggregated data, and transmit an alertcommunication to a user device (e.g., device 75) and/or other securitysystems coupled to the remote system 74 (e.g., other devices that arecoupled to and/or have registered with the remote system 74).

The sensor network that may include sensors 71, 72 shown in FIGS. 8A-8Bmay be an example of a smart-home environment. The depicted smart-homeenvironment may include a structure, a house, office building, garage,mobile home, or the like. The devices of the smart home environment,such as the sensors 71, 72, the controller 73, and the network 70 may beintegrated into a smart-home environment that does not include an entirestructure, such as an apartment, condominium, or office space.

The smart-home environment can control and/or be coupled to devicesoutside of the structure. For example, one or more of the sensors 71, 72may be located outside the structure, for example, at one or moredistances from the structure (e.g., sensors 71, 72) may be disposedoutside the structure, at points along a land perimeter on which thestructure is located, and the like. One or more of the devices in thesmart home environment need not physically be within the structure. Forexample, the controller 73 which may receive input from the sensors 71,72 may be located outside of the structure.

The structure of the smart-home environment may include a plurality ofrooms, separated at least partly from each other via walls. The wallscan include interior walls or exterior walls. Each room can furtherinclude a floor and a ceiling. Devices of the smart-home environment,such as the sensors 71, 72, may be mounted on, integrated with and/orsupported by a wall, floor, or ceiling of the structure.

The smart-home environment including the sensor network shown in FIGS.8A-8B may include a plurality of devices, including intelligent,multi-sensing, network-connected devices, which can integrate seamlesslywith each other and/or with a central server or a cloud-computing system(e.g., controller 73 and/or remote system 74) to provide home-securityand smart-home features. The smart-home environment may include one ormore intelligent, multi-sensing, network-connected thermostats (e.g.,“smart thermostats”), one or more intelligent, network-connected,multi-sensing hazard detection units (e.g., “smart hazard detectors”),and one or more intelligent, multi-sensing, network-connected entrywayinterface devices (e.g., “smart doorbells”). The smart hazard detectors,smart thermostats, and smart doorbells may be the sensors 71, 72 shownin FIGS. 8A-8B.

For example, a smart thermostat may detect ambient climatecharacteristics (e.g., temperature and/or humidity) and may control anHVAC (heating, ventilating, and air conditioning) system accordingly ofthe structure. For example, the ambient client characteristics may bedetected by sensors 71, 72 shown in FIGS. 8A-8B, and the controller 73may control the HVAC system (not shown) of the structure.

As another example, a smart hazard detector may detect the presence of ahazardous substance or a substance indicative of a hazardous substance(e.g., smoke, fire, or carbon monoxide). For example, smoke, fire,and/or carbon monoxide may be detected by sensors 71, 72 shown in FIGS.8A-8B, and the controller 73 may control an alarm system to provide avisual and/or audible alarm to the user of the smart-home environment.

As another example, a smart doorbell may control doorbell functionality,detect a person's approach to or departure from a location (e.g., anouter door to the structure), and announce a person's approach ordeparture from the structure via audible and/or visual message that isoutput by a speaker and/or a display coupled to, for example, thecontroller 73.

In some implementations, the smart-home environment of the sensornetwork shown in FIGS. 8A-8B may include one or more intelligent,multi-sensing, network-connected wall switches (e.g., “smart wallswitches”), one or more intelligent, multi-sensing, network-connectedwall plug interfaces (e.g., “smart wall plugs”). The smart wall switchesand/or smart wall plugs may be or include one or more of the sensors 71,72 shown in FIGS. 8A-8B. A smart wall switch may detect ambient lightingconditions, and control a power and/or dim state of one or more lights.For example, a sensor such as sensors 71, 72, may detect ambientlighting conditions, and a device such as the controller 73 may controlthe power to one or more lights (not shown) in the smart-homeenvironment. Smart wall switches may also control a power state or speedof a fan, such as a ceiling fan. For example, sensors 72, 72 may detectthe power and/or speed of a fan, and the controller 73 may adjusting thepower and/or speed of the fan, accordingly. Smart wall plugs may controlsupply of power to one or more wall plugs (e.g., such that power is notsupplied to the plug if nobody is detected to be within the smart-homeenvironment). For example, one of the smart wall plugs may controlssupply of power to a lamp (not shown).

In implementations of the disclosed subject matter, a smart-homeenvironment may include one or more intelligent, multi-sensing,network-connected entry detectors (e.g., “smart entry detectors”). Suchdetectors may be or include one or more of the sensors 71, 72 shown inFIGS. 8A-8B. The illustrated smart entry detectors (e.g., sensors 71,72) may be disposed at one or more windows, doors, and other entrypoints of the smart-home environment for detecting when a window, door,or other entry point is opened, broken, breached, and/or compromised.The smart entry detectors may generate a corresponding signal to beprovided to the controller 73 and/or the remote system 74 when a windowor door is opened, closed, breached, and/or compromised. In someimplementations of the disclosed subject matter, the alarm system, whichmay be included with controller 73 and/or coupled to the network 70 maynot arm unless all smart entry detectors (e.g., sensors 71, 72) indicatethat all doors, windows, entryways, and the like are closed and/or thatall smart entry detectors are armed.

The smart-home environment of the sensor network shown in FIGS. 8A-8Bcan include one or more intelligent, multi-sensing, network-connecteddoorknobs (e.g., “smart doorknob”). For example, the sensors 71, 72 maybe coupled to a doorknob of a door (e.g., doorknobs 122 located onexternal doors of the structure of the smart-home environment). However,it should be appreciated that smart doorknobs can be provided onexternal and/or internal doors of the smart-home environment.

The smart thermostats, the smart hazard detectors, the smart doorbells,the smart wall switches, the smart wall plugs, the smart entrydetectors, the smart doorknobs, the keypads, and other devices of asmart-home environment (e.g., as illustrated as sensors 71, 72 of FIGS.8A-8B can be communicatively coupled to each other via the network 70,and to the controller 73 and/or remote system 74 to provide security,safety, and/or comfort for the smart home environment).

A user can interact with one or more of the network-connected smartdevices (e.g., via the network 70). For example, a user can communicatewith one or more of the network-connected smart devices using a computer(e.g., a desktop computer, laptop computer, tablet, or the like) orother portable electronic device (e.g., a smartphone, smart watch,wearable computing device, a tablet, a key FOB, a radio frequency andthe like). A webpage or application can be configured to receivecommunications from the user and control the one or more of thenetwork-connected smart devices based on the communications and/or topresent information about the device's operation to the user. Forexample, the user can view the webpage and/or the application, and canarm or disarm the security system of the home.

One or more users can control one or more of the network-connected smartdevices in the smart-home environment using a network-connected computeror portable electronic device. In some examples, some or all of theusers (e.g., individuals who live in the home) can register their mobiledevice and/or key FOBs with the smart-home environment (e.g., with thecontroller 73). Such registration can be made at a central server (e.g.,the controller 73 and/or the remote system 74) to authenticate the userand/or the electronic device as being associated with the smart-homeenvironment, and to provide permission to the user to use the electronicdevice to control the network-connected smart devices and the securitysystem of the smart-home environment. A user can use their registeredelectronic device to remotely control the network-connected smartdevices and security system of the smart-home environment, such as whenthe occupant is at work or on vacation. The user may also use theirregistered electronic device to control the network-connected smartdevices when the user is located inside the smart-home environment.

Alternatively, or in addition to registering electronic devices, thesmart-home environment may make inferences about which individuals livein the home and are therefore users and which electronic devices areassociated with those individuals. As such, the smart-home environmentmay “learn” who is a user (e.g., an authorized user) and permit theelectronic devices associated with those individuals to control thenetwork-connected smart devices of the smart-home environment (e.g.,devices communicatively coupled to the network 70), in someimplementations including sensors used by or within the smart-homeenvironment. The smart-home environment may provide notifications tousers when there is an attempt to use network-connected smart devices ina manner that is atypical from the learned pattern of usage. Varioustypes of notices and other information may be provided to users viamessages sent to one or more user electronic devices. For example, themessages can be sent via email, short message service (SMS), multimediamessaging service (MMS), unstructured supplementary service data (USSD),as well as any other type of messaging services and/or communicationprotocols.

A smart-home environment may include communication with devices outsideof the smart-home environment but within a proximate geographical rangeof the home. For example, the smart-home environment may include anoutdoor lighting system (not shown) that communicates informationthrough the communication network 70 or directly to a central server orcloud-computing system (e.g., controller 73 and/or remote system 74)regarding detected movement and/or presence of people, animals, and anyother objects and receives back commands for controlling the lightingaccordingly.

The controller 73 and/or remote system 74 can control the outdoorlighting system based on information received from the othernetwork-connected smart devices in the smart-home environment. Forexample, in the event any of the network-connected smart devices, suchas smart wall plugs located outdoors, detect movement at night time, thecontroller 73 and/or remote system 74 can activate the outdoor lightingsystem and/or other lights in the smart-home environment.

In implementations of the disclosed subject matter, the remote system 74shown in FIGS. 8A-8B may be a law enforcement provider system, a homesecurity provider system, a medical and/or emergency services providersystem, and/or a fire department provider system. When a security eventand/or environmental event is detected by at least one of one sensors71, 72, a message may be transmitted to the remote system 74. Thecontent of the message may be according to the type of security eventand/or environmental event detected by the sensors 71, 72. For example,if smoke is detected by one of the sensors 71, 72, the controller 73 maytransmit a message to the remote system 74 associated with a firedepartment to provide assistance with a smoke and/or fire event (e.g.,request fire department response to the smoke and/or fire event).Alternatively, the sensors 71, 72 may generate and transmit the messageto the remote system 74. In another example, when one of the sensors 71,72 detects a security event, such a window or door of a building beingcompromised, a message may be transmitted to the remote system 74associated with local law enforcement to provide assistance with thesecurity event (e.g., request a police department response to thesecurity event).

The controller 73 and/or the remote system 74 may include a display topresent an operational status message (e.g., an alert communication, asecurity event, an environmental event, an operational condition, or thelike). For example, the display of the controller 73 and/or remotesystem 74 may display the operational status message to a user while theuser is away from the building having the security system disclosedherein. Alternatively, or in addition, the controller 73 may display theoperational status message to a user when the user arrives at and/ordeparts (i.e., exits) from the building. For example, one or moresensors may identify and authenticate the user (e.g., using imagescaptured by the sensor, and comparing them with pre-stored images,and/or according to identifying information from the device of a user,such as a smartphone, smart watch, wearable computing device, key FOB,RFID tag, or the like), and the security system may display theoperational status message.

FIG. 8B shows a security system that includes an alarm device 76, whichmay include a light and an audio output device. The alarm device 76 maybe controlled, for example, by controller 73 when one or more sensors71, 72 detect a security event and/or an environmental event. In someimplementations, the security event may be human motion that is detectedby the sensors 71, 72 and as determined by the processor 200 and/orcontroller 73. The light of the alarm device 76 may be activated so asto be turned on when one or more sensors 71, 72 detect a security eventand/or an environmental event. Alternatively, or in addition, the lightmay be turned on and off in a pattern (e.g., where the light is turnedon for one second, and off for one second; where the light is turned onfor two seconds, and off for one second, and the like) when one or moresensors 71, 72 detect a security event and/or an environmental event.Alternatively, or in addition, an audio output device of the alarmdevice 76 may include at least a speaker to output an audible alarm whena security event and/or an environmental event is detected by the one ormore sensors 71, 72. For example, a security event may be when one ormore sensors 71, 72 are motion sensors that detect motion either insidea building having the security system disclosed herein, or within apredetermined proximity to the building. The speaker of the alarm device76 may, for example, output a message when the user arrives at thebuilding or departs from the building according to the operationalstatus of the security system (e.g., a security and/or environmentalevent has been detected, an operational issue with the security systemhas been detected, the security system has been armed and/or disarmed,or the like).

FIG. 8B shows a device 75 that may be communicatively coupled to asensor. Although FIG. 8B illustrates that device 75 is coupled to sensor72, the device 75 may be communicatively coupled to sensor 71 and/orsensor 72. The device 75 may be a computing device as shown in FIG. 6and described below, and/or a key FOB. A user of the security systemdisclosed herein may control the device 75. When the device 75 is withina predetermined distance (e.g., one foot, five feet, 10 feet, 20 feet,100 feet, or the like) from the sensor 72, the device 75 and the sensor72 may communicate with one another via Bluetooth signals, Bluetooth LowEnergy (BTLE) signals, Wi-Fi pairing signals, near field communication(NFC) signals, radio frequency (RF) signals, infra-red signals, and/orshort-range communication protocol signals. For example, the user maypresent the device 75 within the predetermined distance range of thesensor so that the device 75 and the sensor may communicate with oneanother. The device 75 may provide identifying information to the sensor72, which may be provided to the controller 73 to determine whether thedevice 75 belongs to an authorized user of the security system disclosedherein. The controller 73 may monitor the location of the device 75 inorder to determine whether to arm or disarm the alarm device 76. Thecontroller 73 may arm or disarm the alarm device 76 according to, forexample, whether the device 75 is within a home, building, and/or apredetermined area. The predetermined area may be defined, for example,according to, for example, geo-fencing data, placement and/or range ofsensors 71, 72, a defined distance from the building having the securitysystem disclosed herein, and the like.

In example implementations of the disclosed subject matter, the device75 may be associated with an authorized user. Authorized users may bethose users, for example, who have identifying information stored and/orregistered with the controller 73. Identifying information may include,for example, images of the user, voice recordings of the user,identification codes that are stored in a user's device, user PIN codes,and the like.

For example, when the authorized user and the device 75 are outside ofthe home, building, and/or predetermined area, the controller 73 may armthe alarm device 76. In determining whether to arm the alarm device 76,the controller may gather data from the sensors 71, 72, to determinewhether any other person is in the building. When the alarm device 76 isarmed, and the user and the device 75 return to the home, building,and/or predetermined area of the security system, the controller 73 maydisarm the alarm device 76 according to the signals received by thesensors 71, 72 from the device 75. The exchanged signals may include theidentifying information of the user.

In FIGS. 8A-8B, the sensor 71, 72 may be a camera to capture an image ofa face of a person to be transmitted to the controller 73, where thecontroller 73 compares the captured facial image with a pre-storedimage. When it is determined by the controller 73 that at least aportion of the captured facial image matches the pre-stored image, thecontroller 73 determines that the person is an authorized user of thesecurity system disclosed herein. The controller 73 may arm or disarmthe alarm device 76 according to the determination of whether the personis an authorized user.

The sensor 71, 72 may be a camera to capture a retinal image from aperson to be transmitted to the controller 73, where the controller 73compares the captured retinal image with a pre-stored image. When it isdetermined by the controller 73 that at least a portion of the capturedretinal image matches the pre-stored image, the controller 73 determinesthat the person is an authorized user of the security system disclosedherein. The controller 73 may arm or disarm the alarm device 76according to the determination of whether the person is an authorizeduser.

The sensor 71, 72 may be a microphone to capture a voice of a person tobe transmitted to the controller 73, where the controller 73 comparesthe captured voice with a pre-stored voice. When it is determined by thecontroller 73 that at least a portion of the captured voice matches thepre-stored voice, the controller 73 determines that the person is anauthorized user of the security system disclosed herein.

When the sensor 72 and/or the controller 73 determine that the device 75is associated with an authorized user according to the transmittedidentification information, the sensor 72 and/or the controller 73provide an operational status message to the user via a speaker (i.e.,audio output 77), a display (e.g., where the display is coupled to thecontroller 73 and/or remote system 74), and/or the device 75. Theoperational status message displayed can include, for example, an alertcommunication and/or a message that a security event and/orenvironmental event has occurred. When the sensors 71, 72 have notdetected a security and/or environmental event, a message may bedisplayed that no security and/or environmental event has occurred. Whenthe controller 73 has not received an alert communication from theremote system 74, a message may be displayed that no alert communicationhas been received. In implementations of the subject matter disclosedherein, the device 75 may display a source of the security event and/orenvironmental event, a type of the security event and/or environmentalevent, a time of the security event and/or environmental event, and alocation of the security event and/or environmental event. In someimplementations, the device 75 may display the alert communication, andmay include information about the alert (e.g., the cause of the alert,the source of the alert, and the like).

In implementations of the disclosed subject matter, the device 75 may becommunicatively coupled to the network 70 so as to exchange data,information, and/or messages with the sensors 71, 72, the controller 73,and the remote system 74. The device is discussed below in furtherdetail in connection with FIG. 11.

In implementations of the disclosed subject matter, the controller 73can request entry of an access code from the device 75 and/or a keypadcommunicatively coupled to the controller 73. Upon receipt of the accesscode, the security system disclosed herein may be disarmed, and/or mayprovide an operational status message to the user via a display coupledto the controller 73 and/or the device 75. Alternatively, or inaddition, an operational status message may be output via a speaker ofthe alarm device 76. In some implementations, the operation statusmessage may include an alert communication, and/or whether an alertcommunication has been received.

For example, a preset time (e.g., 15 seconds, 30 seconds, 1 minute, 5minutes, or the like) may be set for the security system to allow for auser to exit the home or building before arming the alarm device 76. Apreset time may be set for the security system to allow for a user toenter the home and disarm the alarm device 76. In some implementations,when an alert communication is received, the preset time for entry maybe reduced.

The preset time for entry of the home and the preset time to exit thehome may be the same amount of time, or can be set to provide differentamounts of time. If a user needs more time to enter or exit the homewith the security system, an electronic device of the user (e.g., asmartphone, smart watch, wearable computing device, radio frequencyidentification (RFID) tag, fitness band or sensor, a key FOB, or thelike, such as device 75) can request, upon receiving input from theuser, that the controller 73 provide additional time beyond the presettime to allow for the user to enter or exit the home. Alternatively, orin addition, the security system disclosed herein may extend the presettime to enter or exit. For example, the time may be extended for exitingthe home while the user and/or the user's electronic device are in thehome. That is, the sensors 71, 72 may determine that the user and/or theuser's registered electronic device are in the home and are engaged inmoving towards exiting, and the controller 73 may extend the preset timeto exit. Alternatively, or in addition, the device 75 may transmit acommand (e.g., when input is received from the user) to the controller73 to disengage the exit process (e.g., the controller 73 and/or thealarm device 76 are disengaged from counting down the preset time beforearming the alarm device 76).

In another example, when the user returns home, a preset time for entryto disarm the alarm device 76 may be extended according to whether theuser has an electronic device (e.g., device 75, which may be asmartphone, smart watch, wearable computing device, RFID tag, fitnessband or sensor, key FOB, or the like) that is registered with thecontroller 73. That is, the sensors, 71, 72 may detect the presence ofthe device 75 with the user, and may disarm the alarm device 76. Whenthe sensors 71, 72 determine that the user does not have the device 75,the controller 73 may extend the preset time so that a user may be givenadditional time to enter a code on, for example, a keypadcommunicatively coupled to the controller 73, to disarm the alarm device76.

In another example, when an alert communication is received bycontroller 73 from the remote system 74, the controller 73 may reducethe preset time. In some implementations, the user may accept or declinethe change to the setting of the security system via the device 75 whenthe alert communication and/or a settings change notification isdisplayed on the device 75.

As illustrated in FIGS. 8A-8B, a security system can include sensors(e.g., sensors 71, 72) to detect a location of at least one user, andgenerate detection data according to the detected location of at leastone user of the security system. As discussed above, the sensor 71, 72may be used to detect human movement. The detection data may begenerated by the sensors 71, 72. For example, the at least one user maybe one or more members of a household, and the security system maymonitor their location using the sensors 71, 72 to determine whether toarm or disarm the alarm device 76. A processor, such as the processor200 shown in FIG. 2A and/or the controller 73 illustrated in FIGS. 8A-8Band described above, may be communicatively coupled to the sensors 71,72, and can receive the detection data. The processor 200 and/or thecontroller 73 can determine whether the at least one user is occupying ahome, building, and/or within a predetermined area according to thedetection data. The predetermined area may be set according to theboundaries of a home or building, geofencing data, motion data, a doorpositon event, a distance from one or more sensors, and the like.

In determining the location of a user, the sensors 71, 72 can detect thelocation of one or more electronic devices (e.g., device 75) associatedwith a user. The one or more devices may be registered with thecontroller 73 and/or the remote system 74. As discussed above, sensors71, 72 may communicate with another via Bluetooth signals, Bluetooth LowEnergy (BTLE) signals, Wi-Fi pairing signals, near field communication(NFC) signals, radio frequency (RF) signals, infra-red signals, and/orshort-range communication protocol signals. The device 75 may provideidentifying information to the sensor 72, which may be provided to thecontroller 73 and/or the remote system 74 to determine whether thedevice 75 belongs to an authorized user of the security system disclosedherein. When the controller 73 and/or the remote system 74 determinethat the device is an authorized device of the user, the controller 73and/or the remote system 74 may determine the location of the device 75.

The sensors 71, 72 may be used determine whether the user associatedwith the device 75 can be identified with the device. For example, thesensors 71, 72 can determine whether an authorized user has a physicalpresence with the registered device (e.g., device 75), or whether anunauthorized person has possession of an authorized device. For example,as discussed above, a sensor 71, 72 having a camera can capture an imageto determine if an authorized user has possession of the located device75.

In some implementations, the sensors 71, 72 can detect motion of theuser and/or whether a location of the user is outside of the home,building, and/or predetermined area. The sensors 71, 72 may determinewhether a user's first electronic device (e.g., a smartphone, smartwatch, wearable computing device, or the like) is within the home,building, and/or predetermined area. The controller 73 can determinewhether to arm the alarm device 76 according one a location of a user'ssecond electronic device (e.g., a key FOB, RFID tag, fitness band orsensor, or the like), geofencing data, and the detection data from thesensors 71, 72.

The security system disclosed herein includes an alarm device, such asthe alarm device 76 illustrated in FIG. 8B and discussed above, whichcan be armed or disarmed by the controller 73 according to thedetermination as to whether the at least one user is occupying the homeor building, and/or within the predetermined area.

For example, if the controller 73 determines that the members of ahousehold (e.g., the users of the home security system) have exited thehouse (e.g., are no longer occupying the home or building, and areoutside of the predetermined area), the controller 73 may arm the alarmdevice 76. After exiting, controller 73 may request confirmation fromthe user, via the device 75, to arm the alarm. The sensors 71, 72 maydetermine the location of the members of the household according totheir respective electronic devices (e.g., smartphones, smart watch,wearable computing device, tablet computers, key FOBs, RFID tag, fitnessband or sensor, and the like), according to images captured by thesensors, according to the sensors detecting one or more doors openingand closing, and the like.

For example, the sensors 71, 72 may detect one or more doors openingand/or closing, the processor 200 and/or the controller 73 may determinean approximate location of a user, according to the location of thesensor for the door, and what direction the door was opened and/orclosed in. The data generated by the door sensors 71, 72 regarding thedirectional opening of the door, as well as the location of the sensor,may be used along with other sensor data from sensors 71, 72 (e.g.,motion data, camera images, sound data, and/or thermal data, and thelike) to provide an improved location determination of the user.

The controller 73 may aggregate detection data from the sensors 71, 72and store it in a storage device coupled to the controller 73 or thenetwork 70. The data aggregated by the controller 73 may be used todetermine entrance and exit patterns (e.g., what days and times usersenter and exit from the house, what doors are used, and the like) of themembers of the household, and the controller 73 may arm or disarm thealarm device 76 according to the determined patterns.

In implementations of the disclosed subject matter, one or more userelectronic devices (e.g., device 75) can be registered with thecontroller 73, and the at least one of the sensors 71, 72 transmits alocation request signal to the device 75. In response to the locationrequest signal, the device 75 can transmits a location signal, and thecontroller 73 can determine the location of the device 75 according tothe received location signal. The location request signal and thelocation signal can be Bluetooth signals, Bluetooth Low Energy (BTLE)signals, radio frequency (RF) signals, near field communications (NFC)signals, and the like.

The controller 73 can transmit a request message to be displayed by thedevice 75. The message may be, for example, a reminder to arm or disarmthe alarm device 76. In some implementations, the message may includeinformation about a received alert communication, and/or changes to thesettings of the security system in response to the received alertcommunication. Upon displaying the message the electronic devicereceives input to arm or disarm the alarm device 76 according to thedisplayed request message, and transmits the received input to thecontroller 73 so as to control the alarm device 76. When an alertcommunication has been received, additional information may berequested, such as a PIN, security code or the like. For example, thecontroller can request a code from the user to either arm or disarm thealarm device 76. When the user provides the code to the device 75, whichcorrespondingly transmits the entered code to the controller 73, thecontroller 73 may control the arming or disarming of the alarm device76. Alternatively, or in addition, the controller 73 can control thealarm device 76 to be automatically armed when the user is no longeroccupying the home or building, and/or is outside of the predeterminedarea. Alternatively, or in addition, the controller may control thearming or disarming of the alarm device 76 according to a code thatentered in a keypad that is communicatively coupled to the controller73.

In implementations of the disclosed subject matter, authenticationrequirements for arming or disarming of the alarm device 76 may bereduced when a device 75 is used to arm or disarm, and the device 75 isa registered device. When a button on the registered device 75 ordisplayed by the device 75 is used to arm or disarm the alarm device 76,the user may not have to enter a code, a shortened PIN code, a voicecode, or the like. As discussed above, in some implementations,authentication requirements for disarming the alarm device 75 may beincreased when an alert communication is received by the securitysystem.

When the sensors 71, 72 for an entry door to the home or building becomedisconnected from the network 70 and the controller 73, and the alarmdevice 76 is armed, the user may still re-enter the home. The securitysystem may learn which doors are used by the user to enter and/or exit ahome. The sensors 71, 72 associated with the doors that are used toenter and/or exit the home may store identifying information, so thatthe user may present a device 75 to the sensors 71, 72 to exchangeidentifying information to allow the user to enter the door. Once theuser enters, the user may manually disarm the alarm device 76 byentering a security code. In some implementations, such as when an alertcommunication is received, the time permitted to manually disarm thealarm device 76 may be reduced.

The security system may learn the how the user typically arms anddisarms the alarm device 76 (e.g., using a keypad, using the device 75,allowing for auto-arming, or the like). The device 75 may receive amessage from the controller 73 when there is an attempt to disarm thealarm device 76 at a time of day and/or in a manner that is inconsistentwith a user history or pattern for disarming. The controller 73 mayrequest that the user of device 75 confirm whether the disarming isauthorized, and may provide information from sensors 71, 72 (e.g.,images captured of the person attempting the disarming) to assist in theconfirmation. Via the device 75, the user may confirm or deny therequest by the controller 73 to disarm the alarm device.

In implementations of the disclosed subject matter, the alarm device 76can be armed or disarmed by the controller 73 according to geo-locationdata from the sensors 71, 72 and/or the device 75. For example, if thesensors 71, 72 determine that the device 75 is physically located withan authorized user (e.g., as discussed above) according to geo-locationdata received from the device 75, and the user has exited the home andthere are no other users in the home according to the sensors 71, 72,the controller 73 can automatically arm the alarm device. Alternatively,the controller may transmit a request message to the device 75 todetermine if the user would like to arm the alarm device 76. Forexample, the message may display a selectable button to arm or disarmthe alarm device 76. In another example, one or more sensors 71, 72 maydetermine the geo-location of an authorized user who is exiting thehome, and may determine that one or more users are still located in thehome according to geo-location data, and the controller 73 may refrainfrom arming the alarm device 76 to allow for the one or more users stillin the home to exit. In yet another example, the sensors 71, 72 maydetermine the geo-location of an authorized user who has exited thehome, and determine that one or more users are still located within thehome, and the controller 73 may automatically arm the alarm device 76 toactivate an audio and/or visual alarm when a defined outer perimeter isbreached by an unauthorized user or when a door leading outside of thehome is opened, but may not activate the alarm when doors internal tothe home are opened or closed.

In some implementations, when an alert communication has been receivedby the security system, the alarm device 76 disarmed by the controller73 according to a PIN, a security code, and/or other access informationprovided by the device 75.

In some implementations, the alarm device 76 can be armed or disarmedwhen the controller 73 determines that the device 75 and/or sensors 71,72 are disconnected from the communications network 70 coupled to thealarm device 76. For example, if device 75 and/or sensors 71, 72 aredisconnected from the network 70 so as to be decoupled from thecontroller 73 and/or remote system 74, the controller 73 may arm thealarm device 76. That is, the network 70 may be a wireless networkhaving a predetermined communicative range within and/or around theperimeter of a house or building. When an authorized device 75 becomesdecoupled from the network 70 (e.g., because the device 75 is outside ofthe predetermined communicative range) and/or the sensors 71, 72 becomedecoupled from the network 70, the controller 73 may automatically armthe alarm device 76.

In the security system disclosed herein, sensors 71, 72 can detect asecurity event, such as human motion, a door event (e.g., where a doorto a house is opened, closed, and/or compromised) or a window event(e.g., where a window of a house is opened, closed, and/or compromised).For example, the sensors 71, 72 may determine human motion within thehouse when no was expected, and controller 73 and/or processor 200 mayidentify the motion as a compromising event. In another example, thesensors 71, 72 may have an accelerometer that identifies the force onthe door or window as a compromising event. In another example, thesensors 71, 72 may contain an accelerometer and/or compass, and thecompromising event may dislodge the sensor from the door or window, andthe motion of the sensor 71, 72 may identify the motion as acompromising event. The controller 73 may activate the alarm device 76according to whether the detected door event or window event is from anoutside location (e.g., outside the house, building, or the like). Thatis, the controller 73 may control the alarm device 76 to output anaudible alarm and/or message via a speaker when a door event or windowevent is detected by the sensors 71, 72. A light of the alarm device 76may be activated so as to be turned on when one or more sensors 71, 72detect a security event, such as a motion event, a door event, or awindow event. Alternatively, or in addition, a light may be turned onand off in a pattern (e.g., where the light is turned on for one second,and off for one second; where the light is turned on for two seconds,and off for one second, and the like) when one or more sensors 71, 72detect a security event such as the window and/or door event.

The controller 73 can control the alarm device 76 to be armed ordisarmed according to a preset time period for a user to enter or exit ahome or building associated with the security system. The predeterminedtime can be adjusted by the controller 73 and/or according to the user.For example, as discussed herein, the processor 200 and/or thecontroller 73 can aggregate data from the sensors 71, 72 to determinehuman motion, such as when a user enters and exits the home (e.g., thedays and times for entry and exit, the doors associated with the entryand exit, and the like). For example, the controller 73 can adjust theamount of time for arming the alarm device 76 to be longer or shorter,according to the amount of time the user takes to exit the houseaccording to the aggregated data. In some implementations, when an alertcommunication is received by the security system, the controller 73 mayreduce the preset time allotted for a user to enter a home.

In the security system disclosed herein the at least one sensordetermines that the user is not occupying the home or building, and/oris outside of the predetermined area for a time greater than a presettime, the controller 73 can control the alarm device 76 to transitionfrom a first security mode to a second security mode. The secondsecurity mode may provide a higher level of security than the firstsecurity mode. For example, the second security mode may be a “vacation”mode, where the user of the security system disclosed herein (e.g., themembers of a household) are away from the house for a period of time(e.g., 1 day, 3 days, 5 days, 1 week, 2 weeks, 1 month, or the like). Asdiscussed herein, the controller 73 may aggregate the detection datareceived from the sensors 71, 72 over a preset time (e.g., 1 week, 1month, 6 months, 1 year, or the like) to determine a pattern for whenthe user is within the predetermined location or not. In someimplementations, the controller 73 may control the alarm device 76 totransition from the first security mode to the second security mode whenan alert communication is received by the security system. That is, thesecurity system may provide a higher level of security in the secondmode when the alert communication is received.

In some configurations, as illustrated in FIG. 9, a remote system 74 mayaggregate data from multiple locations, such as multiple buildings,multi-resident buildings, and individual residences within aneighborhood, multiple neighborhoods, and the like. In someimplementations, the remote system 74 in FIG. 9 may be different fromthe law enforcement communication system, the security service providersystem, the neighborhood alert communication system, and/or the socialnetwork communication system of the remote system 74 shown in FIGS.8A-8B. In general, multiple sensor/controller systems 81, 82 aspreviously described with respect to FIGS. 8A-8B may provide informationto the remote system 74. The systems 81, 82 may provide data directlyfrom one or more sensors as previously described, or the data may beaggregated and/or analyzed by local controllers such as the controller73, which then communicates with the remote system 74. The remote systemmay aggregate and analyze the data from multiple locations, and mayprovide aggregate results to each location. For example, the remotesystem 74 may examine larger regions for common sensor data or trends insensor data, and provide information on the identified commonality orenvironmental data trends to each local system 81, 82.

For example, remote system 74 may gather and/or aggregate security eventand/or environmental event data from systems 81, 82, which may begeographically proximally located to the security system illustrated inFIGS. 8A-8B. The systems 81, 82 may be located within one-half mile, onemile, five miles, ten miles, 20 miles, 50 miles, or any other suitabledistance from the security system of a user, such as the security systemshown in FIGS. 8A-8B. The remote system 74 may provide at least aportion of the gathered and/or aggregated data to the controller 73and/or the device 75 illustrated in FIG. 2B. In some implementations,the remote system 74 may gather and/or aggregate alert communicationsand provide them to systems 81, 82.

The user of the device 75 may receive information from the controller 73and/or the remote system 74 regarding a security event that isgeographically proximally located to the user of the device 75 and/orthe security system of a building (e.g., a home, office, or the like)associated with the user. Alternatively, or in addition, an applicationexecuted by the device 75 may provide a display of information fromsystems 81, 82, and/or from the remote system 74.

For example, an unauthorized entry to a building associated with systems81, 82 may occur, where the building is within one-half mile from thebuilding associated with the user of the device 75. The controller 73and/or the remote system 74 may transmit a message (e.g., a securityalert message) to the device 75 that an unauthorized entry has occurredin a nearby building, thus alerting the user to security concerns and/orpotential security threats regarding their geographically proximallylocated building. In some implementations, the remote system 74 maytransmit an alert communication to a user device that an unauthorizedentry has occurred in the area.

In another example, a smoke and/or fire event of a building associatedwith systems 81, 82 may occur, where the building is within 500 feetfrom the building associated with the user of the device 75. Thecontroller 73 and/or the remote system 74 may transmit a message (e.g.,a hazard alert message, an alert communication message) to the device 75that the smoke and/or fire event has occurred in a nearby building, thusalerting the user to safety concerns, as well as potential smoke and/orfire damage to their geographically proximally located building.

In situations in which the systems discussed here collect personalinformation about users, or may make use of personal information, theusers may be provided with an opportunity to control whether programs orfeatures collect user information (e.g., a user's current location, alocation of the user's house or business, or the like), or to controlwhether and/or how to receive content from the content server that maybe more relevant to the user. In addition, certain data may be treatedin one or more ways before it is stored or used, so that personallyidentifiable information is removed. For example, specific informationabout a user's residence may be treated so that no personallyidentifiable information can be determined for the user, or a user'sgeographic location may be generalized where location information isobtained (such as to a city, ZIP code, or state level), so that aparticular location of a user cannot be determined. As another example,systems disclosed herein may allow a user to restrict the informationcollected by those systems to applications specific to the user, such asby disabling or limiting the extent to which such information isaggregated or used in analysis with other information from other users.Thus, the user may have control over how information is collected aboutthe user and used by a system as disclosed herein.

FIG. 10 shows an example sensor (e.g., a PIR sensor) that may be used inone or more of the implementations shown in FIGS. 2A-2B and 8A-8B. Asshown in FIG. 10, the sensor may include hardware in addition to thespecific physical sensor that obtains information about the environment.

A sensor, as used throughout, may be described in terms of theparticular physical device that obtains the environmental information.For example, a PIR sensor may obtain motion information, which may beused to determine whether there is human motion (e.g., a walking motionor the like). In another example, an accelerometer may obtainacceleration information, and thus may be used as a general motionsensor and/or an acceleration sensor. A sensor also may be described interms of the specific hardware components used to implement the sensor.For example, a temperature sensor may include a thermistor,thermocouple, resistance temperature detector, integrated circuittemperature detector, or combinations thereof. A sensor also may bedescribed in terms of a function or functions the sensor performs withinan integrated sensor network, such as a smart home environment asdisclosed herein. For example, a sensor may operate as a security sensorwhen it is used to determine security events such as unauthorized entry.A sensor may operate with different functions at different times, suchas where a motion sensor is used to control lighting in a smart homeenvironment when an authorized user is present, and is used to alert tounauthorized or unexpected movement when no authorized user is present,or when an alarm system is in an “armed” state, or the like. In somecases, a sensor may operate as multiple sensor types sequentially orconcurrently, such as where a temperature sensor is used to detect achange in temperature, as well as the presence of a person or animal. Asensor also may operate in different modes at the same or differenttimes. For example, a sensor may be configured to operate in one modeduring the day and another mode at night. As another example, a sensormay operate in different modes based upon a state of a home securitysystem or a smart home environment, or as otherwise directed by such asystem.

The sensor (e.g., sensor 71, 72 shown in FIGS. 8A-8B, 9, and 10) of thesecurity system may include multiple sensors or sub-sensors, such aswhere a position sensor includes both a global positioning sensor (GPS)as well as a wireless network sensor, which provides data that can becorrelated with known wireless networks to obtain location information.Multiple sensors may be arranged in a single physical housing, such aswhere a single device includes movement, temperature, magnetic, and/orother sensors. Such a housing also may be referred to as a sensor or asensor device. For clarity, sensors are described with respect to theparticular functions they perform and/or the particular physicalhardware used, when such specification is necessary for understanding ofthe implementations disclosed herein.

FIG. 10 shows an example sensor as disclosed herein. The sensor 71, 72may include an environmental sensor 61, such as a passive infrared (PIR)sensor, temperature sensor, smoke sensor, carbon monoxide sensor, motionsensor, accelerometer, proximity sensor, magnetic field sensor, radiofrequency (RF) sensor, light sensor, humidity sensor, or any othersuitable environmental sensor, that obtains a corresponding type ofinformation about the environment in which the sensor 71, 72 is located.A processor 64 may receive and analyze data obtained by the sensor 61,control operation of other components of the sensor 71, 72, and processcommunication between the sensor and other devices. In someimplementations, the processor 64 may be the same as processor 200 shownin FIGS. 2A-2 b and described above. The processor 64 may executeinstructions stored on a computer-readable memory 65. The memory 65 oranother memory in the sensor 71, 72 may also store environmental dataobtained by the sensor 61. A communication interface 63, such as a Wi-Fior other wireless interface, Ethernet or other local network interface,or the like may allow for communication by the sensor 71, 72 with otherdevices.

A user interface (UI) 62 may provide information (e.g., via a displaydevice or the like) and/or receive input from a user of the sensor. TheUI 62 may include, for example, a speaker to output an audible alarmand/or message when an event is detected by the sensor 71, 72. Thespeaker may output a message to an authorized user regarding theoperational status (e.g., there are no security and/or environmentalevents, an operational issue has been detected, and/or a security eventand/or environmental event has been detected) of the security systemdisclosed herein, when, for example, the user arrives at the building(e.g., the user's home, the user's office, or the like), or when theuser exits the building. The speaker may output an audible message for auser to access information regarding the operational status of thesecurity system, for example, when the user arrives at the building(e.g., a home, an office, or the like) via an application installedand/or accessible from an electronic device (e.g., device 75 illustratedin FIG. 8B and/or FIG. 11). Alternatively, or in addition, the UI 62 mayinclude a light to be activated when an event is detected by the sensor71, 72. The user interface may be relatively minimal, such as alimited-output display, or it may be a full-featured interface such as atouchscreen.

Components within the sensor 71, 72 may transmit and receive informationto and from one another via an internal bus or other mechanism as willbe readily understood by one of skill in the art. One or more componentsmay be implemented in a single physical arrangement, such as wheremultiple components are implemented on a single integrated circuit.Sensors as disclosed herein may include other components, and/or may notinclude all of the illustrative components shown.

Sensors as disclosed herein may operate within a communication network,such as a conventional wireless network, and/or a sensor-specificnetwork through which sensors may communicate with one another and/orwith dedicated other devices. In some configurations one or more sensorsmay provide information to one or more other sensors, to a centralcontroller, or to any other device capable of communicating on a networkwith the one or more sensors. A central controller may be general- orspecial-purpose. For example, one type of central controller is a homeautomation network that collects and analyzes data from one or moresensors within the home. Another example of a central controller is aspecial-purpose controller that is dedicated to a subset of functions,such as a security controller that collects and analyzes sensor dataprimarily or exclusively as it relates to various securityconsiderations for a location. A central controller may be locatedlocally with respect to the sensors with which it communicates and fromwhich it obtains sensor data, such as in the case where it is positionedwithin a home that includes a home automation and/or sensor network.Faults and/or other issues with sensors may be reported to the centralcontroller. If the communications network that the sensors and thecentral controller are part of experiences connectivity issues, data toauthenticate users so as to allow entry, and/or arming and/or disarmingof the security system may be stored at individual sensors that mayserve as access points to the home and/or building. Alternatively or inaddition, a central controller as disclosed herein may be remote fromthe sensors, such as where the central controller is implemented as acloud-based system that communicates with multiple sensors, which may belocated at multiple locations and may be local or remote with respect toone another.

Implementations of the presently disclosed subject matter may beimplemented in and used with a variety of computing devices. FIG. 11 isan example computing device 75 suitable for implementing implementationsof the presently disclosed subject matter (e.g., the device 75 shown inFIG. 8B). The device 75 may be used to implement a controller, a deviceincluding sensors as disclosed herein, or the like. Alternatively or inaddition, the device 75 may be, for example, a desktop or laptopcomputer, or a mobile computing device such as a smart phone, smartwatch, wearable computing device, tablet, key FOB, RFID tag, fitnessband or sensor, or the like. The device 75 may include a bus 21 whichinterconnects major components of the device 75, such as a centralprocessor 24, a memory 27 such as Random Access Memory (RAM), Read OnlyMemory (ROM), flash RAM, or the like, a user display 22 such as adisplay screen and/or lights (e.g., green, yellow, and red lights, suchas light emitting diodes (LEDs) to provide the operational status of thesecurity system to the user, as discussed above), a user input interface26, which may include one or more controllers and associated user inputdevices such as a keyboard, mouse, touch screen, and the like, a fixedstorage 23 such as a hard drive, flash storage, and the like, aremovable media component 25 operative to control and receive an opticaldisk, flash drive, and the like, and a network interface 29 operable tocommunicate with one or more remote devices via a suitable networkconnection.

The bus 21 allows data communication between the central processor 24and one or more memory components 25, 27, which may include RAM, ROM,and other memory, as previously noted. Applications resident with thedevice 75 are generally stored on and accessed via a computer readablestorage medium.

The fixed storage 23 may be integral with the device 75 or may beseparate and accessed through other interfaces. The network interface 29may provide a direct connection to a remote server via a wired orwireless connection. The network interface 29 may provide acommunications link with the network 70, sensors 71, 72, controller 73,and/or the remote system 74 as illustrated in FIGS. 8A-8B. The networkinterface 29 may provide such connection using any suitable techniqueand protocol as will be readily understood by one of skill in the art,including digital cellular telephone, radio frequency (RF), Wi-Fi,Bluetooth®, Bluetooth Low Energy (BTLE), near-field communications(NFC), and the like. For example, the network interface 29 may allow thedevice to communicate with other computers via one or more local,wide-area, or other communication networks, as described in furtherdetail herein.

Various implementations of the presently disclosed subject matter mayinclude or be embodied in the form of computer-implemented processes andapparatuses for practicing those processes. Implementations also may beembodied in the form of a computer program product having computerprogram code containing instructions embodied in non-transitory and/ortangible media, such as hard drives, USB (universal serial bus) drives,or any other machine readable storage medium, such that when thecomputer program code is loaded into and executed by a computer, thecomputer becomes an apparatus for practicing implementations of thedisclosed subject matter. When implemented on a general-purposemicroprocessor, the computer program code may configure themicroprocessor to become a special-purpose device, such as by creationof specific logic circuits as specified by the instructions.

Implementations may be implemented using hardware that may include aprocessor, such as a general purpose microprocessor and/or anApplication Specific Integrated Circuit (ASIC) that embodies all or partof the techniques according to implementations of the disclosed subjectmatter in hardware and/or firmware. The processor may be coupled tomemory, such as RAM, ROM, flash memory, a hard disk or any other devicecapable of storing electronic information. The memory may storeinstructions adapted to be executed by the processor to perform thetechniques according to implementations of the disclosed subject matter.

The foregoing description, for purpose of explanation, has beendescribed with reference to specific implementations. However, theillustrative discussions above are not intended to be exhaustive or tolimit implementations of the disclosed subject matter to the preciseforms disclosed. Many modifications and variations are possible in viewof the above teachings. The implementations were chosen and described inorder to explain the principles of implementations of the disclosedsubject matter and their practical applications, to thereby enableothers skilled in the art to utilize those implementations as well asvarious implementations with various modifications as may be suited tothe particular use contemplated.

1. A method of detecting human movement with a device, the methodcomprising: generating, at a sensor of the device, a motion event signalin response to movement detected by the sensor; generating, at aprocessor of the device coupled to the sensor, a parameterized curve torepresent the detected motion at the sensor based on the motion eventsignal; fitting, at the processor, the parameterized curve to apredetermined window of sensor data captured by the sensor that includesat least a portion of the motion event signal to filter the motion eventsignal; determining, at the processor, a noise source signal magnitudeestimate of a known noise based on the fitted parameterized curve to thepredetermined window; determining, at the processor, a curve fit errorbased on the fitted parameterized curve to the predetermined window;determining, at the processor, a detection threshold value based on thecurve fit error, the noise source signal estimate of the known noise,and zero or more noise magnitudes estimated at the processor from othersources; and determining, at the processor, that an estimated truemotion event signal correlates with human motion based on a comparisonbetween a value of a point on the fitted parameterized curve and thedetection threshold value.
 2. The method of claim 1, wherein thegenerating the parameterized curve comprises: generating theparameterized curve using at least one from the group consisting of:low-order polynomials, a sum of sinusoids over a predetermined frequencyrange, and as steps of spikes.
 3. The method of claim 1, wherein thefitting the parameterize curve comprises: fitting, at the processor, theparameterized curve to the predetermined window using a least-squaresoptimization.
 4. The method of claim 1, further comprising: selecting,at the processor, the value of the point on the parameterized curve tobe within the predetermined window.
 5. The method of claim 1, furthercomprising: raising the detection threshold value for a determinedmagnitude and time based on the noise source signal magnitude estimate.6. The method of claim 1, wherein the determining the noise sourcesignal magnitude estimate comprises determining, at the processor, thatthe noise source signal magnitude estimate corresponds to anelectrostatic discharge signal detected by the sensor.
 7. The method ofclaim 1, wherein the determining the estimated true motion event signalcorrelates with human motion comprises: determining, at the processor,that the estimated true motion event signal correlates with human motionby subtracting the noise source signal magnitude estimate from thefiltered motion event signal.
 8. The method of claim 1, furthercomprising: correlating, at the processor, the noise source signalmagnitude estimate with a second data signal from a second sensor of thedevice.
 9. The method of claim 8, further comprising: correlating thenoise source signal magnitude estimate with jarring of the sensor basedon accelerometer data from the second sensor.
 10. The method of claim 1,further comprising: raising the detection threshold value, at theprocessor, when the noise source signal magnitude estimate is based on anotification of internal radio transmissions of the device.
 11. A systemcomprising: a sensor of a device to generate a motion event signal inresponse to movement detected by the sensor; and a processor of thedevice, coupled to the sensor, to generate a parameterized curve torepresent the detected motion at the sensor based on the motion eventsignal, to fit the parameterized curve to a predetermined window ofsensor data captured by the sensor that includes at least a portion ofthe motion event signal to filter the motion event signal, to determinea noise source signal magnitude estimate of a known noise based on thefitted parameterized curve to the predetermined window, to determine acurve fit error based on the fitted parameterized curve to thepredetermined window, determine a detection threshold value based on thecurve fit error, the noise source signal estimate of the known noise,and zero or more noise magnitudes estimated at the processor from othersources, and to determine that an estimated true motion event signalcorrelates with human motion based on a comparison between a value of apoint on the fitted parameterized curve and the detection thresholdvalue.
 12. The system of claim 11, wherein the processor generates theparameterized curve using at least one from the group consisting of:low-order polynomials, a sum of sinusoids over a predetermined frequencyrange, and as steps of spikes.
 13. The system of claim 11, wherein theprocessor fits the parameterized curve to the predetermined window usinga least-squares optimization.
 14. The system of claim 11, wherein thevalue of the point on the parameterized curve is selected by theprocessor to be within the predetermined window.
 15. The system of claim11, wherein the processor raises the detection threshold value for adetermined magnitude and time based on the noise source signal magnitudeestimate.
 16. The system of claim 11, wherein the noise source signalmagnitude estimate corresponds to an electrostatic discharge signaldetected by the sensor.
 17. The system of claim 11, wherein theprocessor determines that the estimated true motion event signalcorrelates with human motion by subtracting the noise source signalmagnitude estimate from the filtered motion event signal.
 18. The systemof claim 11, wherein the processor correlates the noise source signalmagnitude estimate with a second data signal from a second sensor of thedevice.
 19. The system of claim 18, wherein the second sensor is anaccelerometer, and the noise source signal magnitude estimate iscorrelated by the processor with jarring of the sensor based onaccelerometer data from the second sensor.
 20. The method of claim 19,wherein the processor raises the detection threshold value when thenoise source signal magnitude estimate is based on a notification ofinternal radio transmissions of the device.
 21. A system comprising: aprocessor of a device including: a curve fit filter to receive a motionevent signal from a sensor of the device, to output a filtered motionevent signal based on the received motion event signal, and to determinea curve fit error; a dynamic threshold estimator to output a detectionthreshold value based on the determined curve fit error from the curvefit filter, a noise source signal estimate of a known noise in thefiltered motion event signal, and zero or more noise magnitude estimatesfrom other sources; and a detector to output a determined motion eventbased on the filtered motion event signal from the curve fit filter andthe detection threshold value from the dynamic threshold estimator. 22.A method comprising: receiving, at a curve fit filter of a processor ofa device, a motion event signal from a sensor of the device; outputting,at the curve fit filter of the processor, a filtered motion event signalbased on the received motion event signal, and determining a curve fiterror; outputting, at a dynamic threshold estimator of the processor, adetection threshold value based on the determined curve fit error, anoise source signal estimate of a known noise in the filtered motionevent signal, and zero or more noise magnitude estimates from othersources; and outputting, at a detector of the processor, a determinedmotion event based on the filtered motion event signal from the curvefit filter and the detection threshold value from the dynamic thresholdestimator.